import Link from 'next/link'; import type { ReactNode } from 'react'; import { cookies } from 'next/headers'; import { notFound } from 'next/navigation'; import { loadAuthV2Workspace } from '../lib/load-workspace'; import { AuthProjectNav } from './auth-project-nav'; export const dynamic = 'force-dynamic'; /** * Per-project Auth shell — same header + tabs pattern as Projects: * ← Auth * {name} * {slug} · Auth on|off * [tabs…] [↗ developer mode] */ export default async function AuthProjectLayout({ children, params, }: { children: ReactNode; params: Promise<{ projectId: string }>; }) { const { projectId } = await params; const developerMode = (await cookies()).get('briven_auth_project_dev')?.value === '1'; const projects = await loadAuthV2Workspace(); const project = projects.find( (p) => p.id === projectId || p.id.toLowerCase() === projectId.toLowerCase(), ); if (!project) { notFound(); } // Trust workspace flag; layout badge only (page may re-check enable). const authOn = project.authEnabled === true; return (
← Auth

{project.name}

{project.slug} {' · '} {authOn ? ( Auth on ) : ( Auth off )}

{children}
); }